
#ifndef TIPOSPERSONAJE_H_
#define TIPOSPERSONAJE_H_

#include "../GestionTiposObjetos.h"
#include "Personaje.h"
#include "../../../Utils/GestionId.h"
#include "../../../Utils/GestionSonidos.h"
#include "../../../Utils/YamlParser.h"
#include <algorithm>

class TipoPersonaje : public TipoObjetoMovible {
		
	public:
	
		string nombre;
		int margenScroll;
		
		vector<int> sonidos;
		vector<infoAccion_t> accionesParticulares;
		
		TipoPersonaje(TipoPersonaje_y tipoPersonaje);
		void AsignarAPersonaje(Personaje* personaje);
		string getNombre();
		
};

class GestionTiposPersonaje {
	
	static vector<TipoPersonaje*> tiposPersonaje;
	
	public:
		static void Inicializar(vector<TipoPersonaje_y> tiposPersonaje);
		static void AsignarTipoPersonaje(Personaje* personaje, string tipo);
		static vector<string> getListaTipos();
		static TipoPersonaje* getTipoPersonaje(int tipoPersonaje);
		static void Unset();
	
};

#endif /* TIPOSPERSONAJE_H_ */
